﻿
namespace Syngine.Components.Animations
{
	public abstract class Animation : Drawable, IAnimation
	{
		public string Name { get; set; }

		public float Duration { get; set; }

		public float DurationTimer { get; set; }

		public PlayableState State { get; protected set; }

		public virtual void Play()
		{
			State = PlayableState.Playing;
		}

		public virtual void Stop()
		{
			DurationTimer = 0.0f;
			State = PlayableState.Stopped;
		}

		public virtual void Pause()
		{
			State = PlayableState.Paused;
		}

		//public abstract void Play(ITransition transition);

		//public abstract void Stop(ITransition transition);

		//public abstract void Pause(ITransition transition);
	}
}
